/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.assembler.output.p2bis;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import fr.generali.accueilclient.client.om.IPersonnePhysique;
import fr.generali.accueilclient.client.om.impl.PersonnePhysique;
import fr.generali.refservcommuns.rce.rechpersgen.extrait.DtoExtraitPersonnePhysique;

/**
 * Transforme un {@link DtoExtraitPersonnePhysique} en un {@link IPersonnePhysique}
 * 
 * @author Guillaume Lancelin
 */
@Component("dtoExtraitPersonnePhysique2PersonnePhysiqueConverter")
public class DtoExtraitPersonnePhysique2PersonnePhysiqueConverter implements
    Converter<DtoExtraitPersonnePhysique, IPersonnePhysique> {

    /**
     * LOGGER
     */
    private static final Logger LOGGER =
                    LoggerFactory.getLogger(DtoExtraitPersonnePhysique2PersonnePhysiqueConverter.class);
    
    /**
     * {@inheritDoc}
     */
    public IPersonnePhysique convert(DtoExtraitPersonnePhysique input) {
        LOGGER.info("assemble");
        IPersonnePhysique personne = new PersonnePhysique();

        personne.setCivilite(input.getCivilite());
        personne.setTitre(input.getTitre());
        if (input.getDateNaissance() != null) {
            personne.setDateNaissance(input.getDateNaissance().toGregorianCalendar().getTime());
        }
        personne.setNom(input.getNom());
        personne.setPrenom(input.getPrenom());

        return personne;
    }
}
